一个想法,我觉得还是不要发在贴吧里比较好,关于模拟外界毒气的方式.

OK…
核心的一部分是,要模拟外界空气已经不能呼吸的情况…
现有CDDA的程序似乎还不能满足这一点,但我已经想出了要怎么做,这会是一个巨大的工程,并且肯定要做成MOD
原理就是参考"深水",将地面上的所有地形都加入深水那个会导致溺水的属性,并且将提示文字改为你感到窒息等等等等…
如果有程序员正式完成这一点之后还有个好处是,可以给下水道和污水厂之类的地方也加上这个属性了.

同样,带上呼吸器能改善这一点,以小工程而言,我只能试着模拟出类似的效果,但是具体实现还是要靠玩家自觉.
首先,“滤芯"必须实现量产,现有的想法是加入一个"氧气”->"滤芯"的配方来做到这一点,并且大大简化原有呼吸器滤芯的原料需求.
或, 减缓所有使用滤芯的物品的消耗速度.

首先是新的滤罐:

    {   "type" : "AMMO",
        "id" : "rebreather_filter_oxygen",
        "category" : "spare_parts",
        "price" : 250,
        "name" : "接好的氧气罐",
        "symbol" : "=",
        "color" : "light_gray",
        "description" : "一罐子氧气,用胶管接在你的面具上,尽管外界满是令人窒息的毒气,但你却可以呼吸了. 程序还没写好,没辙,先这样吧.",
        "material" : "aluminum",
        "volume" : 1,
        "weight" : 120,
        "bashing" : 1,
        "cutting" : 0,
        "to_hit" : 0,
        "ammo_type" : "rebreather_filter",
        "casing" : "NULL",
        "damage" : 0,
        "pierce" : 0,
        "range" : 0,
        "dispersion" : 0,
        "recoil" : 0,
        "count" : 30
    },

然后是新滤罐的配方

{
  "type" : "recipe",
  "result": "rebreather_filter_oxygen",
  "category": "CC_OTHER",
  "subcategory": "CSC_OTHER_OTHER",
  "skill_used": "fabrication",
  "skills_required": [ "cooking", 1 ],
  "difficulty": 2,
  "time": 1000,
  "reversible": false,
  "decomp_learn": 4,
  "autolearn": true,
  "tools": [
    [
      [ "duct_tape", 20 ],
      [ "toolset", 5 ]
    ],
	 [
      [ "hose", 1 ]
    ],
    [
      [ "oxygen_tank", 1 ],
      [ "smoxygen_tank", 1 ]
    ]
  ],
  "components": [
    [
      [ "scrap", 2 ],
      [ "can_food", 1 ],
      [ "can_drink", 1 ],
      [ "canister_empty", 1 ]
    ]
  ]
},

以及对于呼吸器面罩和生存者潜水镜的减速

{
        "id": "rebreather_on",
        "type": "TOOL_ARMOR",
        "category" : "clothing",
        "symbol": "[",
        "color": "dark_gray",
        "name": "rebreather mask (on)",
        "name_plural": "rebreather masks (on)",
        "description": "A mask worn over your mouth which, when loaded with the proper filters, recycles your exhaled breath for rebreathing while underwater.  It is turned on, and continually consuming its filter.  Use it to turn it off.",
        "flags" : ["WATER_FRIENDLY", "REBREATHER"],
        "price": 25000,
        "material": ["plastic", "aluminum"],
        "weight" : 720,
        "volume": 2,
        "bashing": 0,
        "cutting": 0,
        "to_hit" : -3,
        "max_charges": 60,
        "initial_charges": 0,
        "charges_per_use": 0,
        "turns_per_charge": 40,
        "ammo": "rebreather_filter",
        "revert_to": "rebreather",
        "use_action": {
            "type": "auto_transform",
            "msg": "Your %s deactivates.",
            "target": "rebreather"
        },
        "covers" : ["MOUTH"],
        "storage" : 0,
        "warmth" : 10,
        "environmental_protection" : 35,
        "encumbrance" : 20,
        "coverage" : 75,
        "material_thickness" : 1
    },
(XL自行添加)
    {
        "id": "mask_h20survivor_on",
        "type": "TOOL_ARMOR",
        "category" : "armor",
        "symbol": "[",
        "color": "dark_gray",
        "name": "survivor divemask (on)",
        "name_plural": "survivor divemasks (on)",
        "description": "A custom-built, armored rebreather mask that covers the face and eyes.  It provides excellent protection from harm as well providing breathing gas while underwater.  It is turned on, and continually consuming its filter.  Use it to turn it off.",
        "flags" : ["VARSIZE", "STURDY", "WATER_FRIENDLY", "REBREATHER", "SWIM_GOGGLES"],
        "price": 40000,
        "material": ["kevlar", "plastic"],
        "weight" : 982,
        "volume": 6,
        "bashing": 0,
        "cutting": 0,
        "to_hit" : -3,
        "max_charges": 120,
        "initial_charges": 0,
        "charges_per_use": 0,
        "turns_per_charge": 60,
        "ammo": "rebreather_filter",
        "revert_to": "mask_h20survivor",
        "use_action": {
            "type": "auto_transform",
            "msg": "Your %s deactivates.",
            "target": "mask_h20survivor"
        },
        "covers" : ["MOUTH", "EYES"],
        "storage" : 0,
        "warmth" : 15,
        "environmental_protection" : 35,
        "encumbrance" : 20,
        "coverage" : 75,
        "material_thickness" : 2
    },

然后是,如何实现对于屋子的净化?
关于这个问题,我只能假设用火是可以烧掉空气中的毒气的,尽管比较慢
所以,如果胶带贴好窗户,或是彻底封死一个房间,然后使用火把或是火盆,在房间内点火,每10格室内房间对应着1小时的火焰燃烧才可以净化
当完成这一点时,就可假设房间内的空气已经可以呼吸,当然,程序还是没写好,这个完全只能靠自觉.
(警告:现实里这么干妥妥的会导致缺氧窒息,不要在家里尝试这个)

使用防毒面具或者各类具有环境保护能力的防护服/防护面具也是有效的,但是要实现约定一个有效时间…

当时间过后,或许需要销毁它,或者直接无视?
etc…
我还没想好

此处作为一个点子…我会在自己的存档里试着这么玩玩的

现在室内火盆没问题了?
0.a的火盆那叫一个熏人OTL

和光头一样我估计我也要开坑了,当年玩CDDA写了一阵子代码都都丢下了现在需要重新拾起来。。。