swwmgz_m/MAPPING.md
Marisa the Magician 5243d533b1 Some stuff for custom map support (store/revive toggling, documentation for various functions, etc.).
A couple tiny fixes here and there for issues I didn't notice until I loaded the mod into UDB.
2022-09-11 12:02:48 +02:00

4.9 KiB

Notes for mappers

Tokens

  • Disabling the store: Give the player "SWWMStoreDisabler" item on map load.
  • Disabling revives: Give the player "SWWMReviveDisabler" item on map load.

Note: Tokens are flagged as "unclearable", so they have to be removed directly with TakeInventory.

Mission log

  • Adding a new entry: CallACS("SWWMMissionLog","AddLog","YOUR TEXT HERE"). Prefixed LANGUAGE entries are supported.
  • Setting the date and time: CallACS("SWWMMissionLog","SetClock",year,month,day,hour,minute,"timezone"). Note that month and day start counting from zero, not one (for programming-related reasons).

Placing items

DEMOLITIONIST does not have standard DoomEdNums assigned to any of its items by default, in order to avoid potential collisions with other custom maps, so you will have to set them yourself. Copy the following to your MAPINFO:

DoomEdNums
{
	// Weapons
	29001 = "DeepImpact"
	29002 = "ExplodiumGun"
	29003 = "Spreadgun"
	29004 = "Wallbuster"
	29005 = "Eviscerator"
	29006 = "Hellblazer"
	29007 = "Sparkster"
	29008 = "SilverBullet"
	29009 = "CandyGun"
	29010 = "Ynykron"
	// DLC Weapons
	29011 = "ItamexHammer"
	29012 = "PlasmaBlast"
	29013 = "PuntzerBeta"
	29014 = "PuntzerGamma"
	29015 = "HeavyMahSheenGun"
	29016 = "Quadravol"
	29017 = "ModernSparkster"
	29018 = "RayKhom"
	29019 = "MisterRifle"
	29020 = "RafanKos"
	// Ammo
	29021 = "RedShell"
	29022 = "RedShell2"
	29023 = "RedShell4"
	29024 = "GreenShell"
	29025 = "GreenShell2"
	29026 = "GreenShell4"
	29027 = "BlueShell"
	29028 = "BlueShell2"
	29029 = "BlueShell4"
	29030 = "PurpleShell"
	29031 = "PurpleShell2"
	29032 = "PurpleShell4"
	29033 = "BlackShell"
	29034 = "BlackShell2"
	29035 = "BlackShell4"
	29036 = "GoldShell"
	29037 = "GoldShell2"
	29038 = "GoldShell4"
	29039 = "EvisceratorShell"
	29040 = "EvisceratorShell2"
	29041 = "EvisceratorShell3"
	29042 = "EvisceratorSixPack"
	29043 = "HellblazerMissiles"
	29044 = "HellblazerMissiles2"
	29045 = "HellblazerMissiles3"
	29046 = "HellblazerMissileMag"
	29047 = "HellblazerCrackshots"
	29048 = "HellblazerCrackshots2"
	29049 = "HellblazerCrackshotMag"
	29050 = "HellblazerRavagers"
	29051 = "HellblazerRavagerMag"
	29052 = "HellblazerWarheads"
	29053 = "HellblazerWarheadMag"
	29054 = "SparkUnit"
	29055 = "SparkUnit2"
	29056 = "SilverBulletAmmo"
	29057 = "SilverBulletAmmo2"
	29058 = "SilverBullets"
	29059 = "SilverBullets_2"
	29060 = "SilverBullets_3"
	29061 = "SilverBullets2"
	29062 = "SilverBullets2_2"
	29063 = "SilverBullets2_3"
	29064 = "CandyGunAmmo"
	29065 = "CandyGunBullets"
	29066 = "CandyGunBullets2"
	29067 = "CandyGunBullets3"
	29068 = "YnykronAmmo"
	// DLC Ammo
	29069 = "SMW05Ammo"
	29070 = "SMW05Ammo2"
	29071 = "SMW05Ammo3"
	29072 = "SMW05SmallAmmo"
	29073 = "SMW05BigAmmo"
	29074 = "SheenAmmo"
	29075 = "SheenAmmo2"
	29076 = "SheenAmmo3"
	29077 = "SheenSmallAmmo"
	29078 = "SheenBigAmmo"
	29079 = "QuadravolAmmo"
	29080 = "QuadravolAmmo2"
	29081 = "QuadravolAmmo3"
	29082 = "SparksterBAmmo"
	29083 = "SparksterBAmmo2"
	29084 = "SparksterBAmmo3"
	29085 = "SparksterRAmmo"
	29086 = "SparksterRAmmo2"
	29087 = "SparksterRAmmo3"
	29088 = "RayBolt"
	29089 = "RayBolt2"
	29090 = "RayBolt5"
	29091 = "RayAmmo"
	29092 = "MisterRound"
	29093 = "MisterRound2"
	29094 = "MisterRound3"
	29095 = "MisterRound5"
	29096 = "MisterRound10"
	29097 = "MisterAmmo"
	29098 = "MisterGAmmo"
	29099 = "MisterGAmmo2"
	29100 = "UltimatePod"
	29101 = "UltimateAmmo"
	// For Hexen
	29102 = "FabricatorTier1"
	29103 = "FabricatorTier2"
	29104 = "FabricatorTier3"
	29105 = "FabricatorTier4"
	// Backpack
	29106 = "HammerspaceEmbiggener"
	// Health
	29107 = "HealthNuggetItem"
	29108 = "TetraHealthItem"
	29109 = "CubeHealthItem"
	29110 = "RefresherItem"
	// Armor
	29111 = "ArmorNuggetItem"
	29112 = "BlastSuitItem"
	29113 = "WarArmorItem"
	// Powerups
	29114 = "GrilledCheeseSandwich"
	29115 = "GhostArtifact"
	29116 = "GravitySuppressor"
	29117 = "FuckingInvinciball"
	29118 = "Ragekit"
	29119 = "SWWMLamp"
	29120 = "EBarrier"
	29121 = "Mykradvo"
	29122 = "DivineSprite"
	29123 = "AngerySigil"
} 

Notes:

  • Embiggeners can be "merged" by placing them all in the same exact position. This works for groups of 2, 4, 6 and 8.
  • Chanceboxes auto-spawn inside secret sectors as long as there's an unobstructed 32x32x60 space inside them.
  • It's possible to manually spawn chanceboxes and even collectibles, but this will have to be done through ZScript in a level postprocessor, as internally they already have DoomEdNums assigned (in the format 42069xx), but they're larger than 16 bits, so (most?) map editors can't use it.
  • Items have no "fallback sprites", so they're only visible as models in UDB.
  • Items with "shiny" materials (e.g. nuggets and health geodesics) will look dull since UDB can't use their shaders.
  • Some multi-skinned models may render incorrectly or have missing parts in UDB due to MODELDEF parsing quirks. This can be noticed from the warnings that will be logged on load.