# HG changeset patch # User Wuzzy # Date 1546721535 -3600 # Node ID 8a11548cb1d2992cdd15ddda2ccd378ef0237a08 # Parent c96079ee46875794bfb717ca6442779a206196f3 TS: Improve configurability by game scheme diff -r c96079ee4687 -r 8a11548cb1d2 ChangeLog.txt --- a/ChangeLog.txt Sat Jan 05 21:07:22 2019 +0100 +++ b/ChangeLog.txt Sat Jan 05 21:52:15 2019 +0100 @@ -11,6 +11,7 @@ + Restructure credits + Credits screen in main menu is now translatable + Don't show crate spawn message for initial crates in missions + + The Specialists: Unlock game scheme + The Specialists: Add script parameter support to set custom specialists order * Use player-chosen team identity in campaigns and singleplayer missions * Fix last 2 characters in demo chat being missing diff -r c96079ee4687 -r 8a11548cb1d2 QTfrontend/model/gameSchemeModel.cpp --- a/QTfrontend/model/gameSchemeModel.cpp Sat Jan 05 21:07:22 2019 +0100 +++ b/QTfrontend/model/gameSchemeModel.cpp Sat Jan 05 21:52:15 2019 +0100 @@ -89,6 +89,7 @@ << "King Mode" << "Mutant" << "Construction Mode" + << "The Specialists" << "Space Invasion" << "HedgeEditor" ; @@ -671,9 +672,58 @@ << QVariant("initialenergy=550, energyperround=50, maxenergy=1000, cratesperround=5") // scriptparam 43 ; + QList specialists; + specialists + << predefSchemesNames[12] // name 0 + << QVariant(true) // switchhog 1 + << QVariant(false) // team divide 2 + << QVariant(false) // solid land 3 + << QVariant(false) // border 4 + << QVariant(false) // low gravity 5 + << QVariant(false) // laser sight 6 + << QVariant(false) // invulnerable 7 + << QVariant(false) // reset health 8 + << QVariant(false) // vampiric 9 + << QVariant(false) // karma 10 + << QVariant(false) // artillery 11 + << QVariant(false) // random order 12 + << QVariant(false) // king 13 + << QVariant(true) // place hog 14 + << QVariant(false) // shared ammo 15 + << QVariant(false) // disable girders 16 + << QVariant(false) // disable land objects 17 + << QVariant(false) // AI survival 18 + << QVariant(true) // inf. attack 19 + << QVariant(true) // reset weps 20 + << QVariant(true) // per hog ammo 21 + << QVariant(false) // no wind 22 + << QVariant(false) // more wind 23 + << QVariant(false) // tag team 24 + << QVariant(false) // bottom border 25 + << QVariant(100) // damage modfier 26 + << QVariant(45) // turn time 27 + << QVariant(100) // init health 28 + << QVariant(15) // sudden death 29 + << QVariant(5) // case prob 30 + << QVariant(3) // mines time 31 + << QVariant(0) // mines number 32 + << QVariant(0) // mine dud pct 33 + << QVariant(0) // explosives 34 + << QVariant(0) // air mines 35 + << QVariant(100) // health case pct 36 + << QVariant(25) // health case amt 37 + << QVariant(47) // water rise amt 38 + << QVariant(5) // health dec amt 39 + << QVariant(100) // rope modfier 40 + << QVariant(100) // get away time 41 + << QVariant(0) // world edge 42 + // NOTE: If you change this, also change the defaults in the The Specialists script + << QVariant("t=SENDIAPL") // scriptparam 43 + ; + QList spaceinvasion; spaceinvasion - << predefSchemesNames[12] // name 0 + << predefSchemesNames[13] // name 0 << QVariant(false) // switchhog 1 << QVariant(false) // team divide 2 << QVariant(false) // solid land 3 @@ -722,7 +772,7 @@ QList hedgeeditor; hedgeeditor - << predefSchemesNames[13] // name 0 + << predefSchemesNames[14] // name 0 << QVariant(false) // switchhog 1 << QVariant(false) // team divide 2 << QVariant(false) // solid land 3 @@ -782,6 +832,7 @@ schemes.append(kingmode); schemes.append(mutant); schemes.append(construction); + schemes.append(specialists); schemes.append(spaceinvasion); schemes.append(hedgeeditor); diff -r c96079ee4687 -r 8a11548cb1d2 share/hedgewars/Data/Scripts/Multiplayer/The_Specialists.cfg --- a/share/hedgewars/Data/Scripts/Multiplayer/The_Specialists.cfg Sat Jan 05 21:07:22 2019 +0100 +++ b/share/hedgewars/Data/Scripts/Multiplayer/The_Specialists.cfg Sat Jan 05 21:52:15 2019 +0100 @@ -1,2 +1,2 @@ -* +The_Specialists locked diff -r c96079ee4687 -r 8a11548cb1d2 share/hedgewars/Data/Scripts/Multiplayer/The_Specialists.lua --- a/share/hedgewars/Data/Scripts/Multiplayer/The_Specialists.lua Sat Jan 05 21:07:22 2019 +0100 +++ b/share/hedgewars/Data/Scripts/Multiplayer/The_Specialists.lua Sat Jan 05 21:52:15 2019 +0100 @@ -216,9 +216,16 @@ end function onGameInit() - ClearGameFlags() - EnableGameFlags(gfResetWeps, gfInfAttack, gfPlaceHog, gfPerHogAmmo, gfSwitchHog) + -- Force-disable harmful game flags + DisableGameFlags(gfSharedAmmo, gfKing) + -- Force-enable game-critical game flags + EnableGameFlags(gfPerHogAmmo, gfResetWeps) + -- NOTE: For your game scheme, these game flags are recommended: gfResetWeps, gfPlaceHog, gfSwitchHog, gfInfAttack + + -- No weapon crates HealthCaseProb = 100 + + -- Instructions Goals = loc("The Specialists: Each hedgehog starts with its own weapon set") end