Author Topic: Hardmode Expansion - Bugreports  (Read 74190 times)

Offline hellrazor

  • Moderator
  • Commander
  • ***
  • Posts: 2002
  • Deep Ruleset Digger & Bughunter
    • View Profile
    • Github Account
Re: Hardmode Expansion - Bugreports
« Reply #150 on: May 10, 2023, 04:02:56 pm »
This is standard algorithm for OXCE since about 5 years. (commit 32c9799b75)
if a weapon has ArcingShot it awards throwing rather then firing experience.
look at file Battlescape/TileEngine.cpp function TileEngine::awardExperience
where is says:
Code: [Select]
           else if (weapon->getArcingShot(attack.type))                       
            {                                                                   
                expType = ETM_THROWING_100;                                     
                expFuncA = &BattleUnit::addThrowingExp; // e.g. flamethrower, javelins, combat bow, grenade launcher, black powder bomb, stick grenade, acid flask, apple, ...
            }

this can be over-ridden by using "experienceTrainingMode"                                               

This does not happen in OXC.

I take a look at this when i find time on the next weekend.
I moving with the mod to OXCE anyway because of some new features I am using so i probably have to adapt that.
Thanks for pointing it out.

Offline Yankes

  • Commander
  • *****
  • Posts: 2999
    • View Profile
Re: Hardmode Expansion - Bugreports
« Reply #151 on: May 10, 2023, 04:24:22 pm »
This might be a bug in the engine.
I've stumbled upon something similar:
https://openxcom.org/forum/index.php/topic,10996.0.html

Could be worth to debug it and see if there's a fix on the engine-side.
You can't hit floor of GravLift, this is not bug but feature deliberately implemented in code.
GravLift floor is not consider as solid object when consider trajectories.

Offline omri

  • Squaddie
  • *
  • Posts: 7
    • View Profile
Re: Hardmode Expansion - Bugreports
« Reply #152 on: May 10, 2023, 06:20:39 pm »
While you are looking into it, there are two minor issues you may want to change:

in Ruleset/items_HM.rul:
PLASMA_PISTOL_ELERIUM_CLIP and PLASMA_RIFLE_ELERIUM_CLIP  sell for $0
this is because they have a costsell field instead of a costSell field.
in Ruleset/manufacture_HM.rul:
the cost of UPGRADE_WALKERTANK_LASER_TO_PLASMA is 40000 where a cost of 400000 seams more in line with the cost difference between the two tanks.

Offline hellrazor

  • Moderator
  • Commander
  • ***
  • Posts: 2002
  • Deep Ruleset Digger & Bughunter
    • View Profile
    • Github Account
Re: Hardmode Expansion - Bugreports
« Reply #153 on: May 10, 2023, 07:09:53 pm »
While you are looking into it, there are two minor issues you may want to change:

in Ruleset/items_HM.rul:
PLASMA_PISTOL_ELERIUM_CLIP and PLASMA_RIFLE_ELERIUM_CLIP  sell for $0
this is because they have a costsell field instead of a costSell field.
in Ruleset/manufacture_HM.rul:
the cost of UPGRADE_WALKERTANK_LASER_TO_PLASMA is 40000 where a cost of 400000 seams more in line with the cost difference between the two tanks.

Pistol and Plasma Rifle Clips are typos. I am gonna fix that.

In regard of the Upgrade from Walkertank Laser to Plasma, see here:

Code: [Select]
  - name: STR_UPGRADE_WALKERTANK_LASER_TO_PLASMA
    category: STR_CAT_TANK_UPGRADE
    requires:
      - STR_LASER_CANNON
      - STR_PLASMA_CANNON
      - STR_WALKERTANK
      - STR_SECTOPOD_CORPSE
      - STR_SECTOPOD_TERRORIST
      - STR_ARMORED_SECTOPOD_CORPSE
      - STR_ARMORED_SECTOPOD_TERRORIST
    space: 30
    time: 200
    cost: 40000
    requiredItems:
      STR_WALKERTANK_LASER: 1
      STR_ELERIUM_115: 10
      STR_ARMORED_SECTOPOD_CORPSE: 1
    producedItems:
      STR_WALKERTANK_PLASMA: 1
    listOrder: 722

You need a armored Sectopod Corpse and the money.
Hm... but it makes more sense to increase it 400k.
I am gonna change it.
Thanks.

Offline hellrazor

  • Moderator
  • Commander
  • ***
  • Posts: 2002
  • Deep Ruleset Digger & Bughunter
    • View Profile
    • Github Account
Re: Hardmode Expansion - Bugreports
« Reply #154 on: May 11, 2023, 02:48:42 pm »
This is standard algorithm for OXCE since about 5 years. (commit 32c9799b75)
if a weapon has ArcingShot it awards throwing rather then firing experience.
look at file Battlescape/TileEngine.cpp function TileEngine::awardExperience
where is says:
Code: [Select]
           else if (weapon->getArcingShot(attack.type))                       
            {                                                                   
                expType = ETM_THROWING_100;                                     
                expFuncA = &BattleUnit::addThrowingExp; // e.g. flamethrower, javelins, combat bow, grenade launcher, black powder bomb, stick grenade, acid flask, apple, ...
            }

this can be over-ridden by using "experienceTrainingMode"                                               

This does not happen in OXC.

This new experience system can be turned off since OXCE 7.9, see Meridians post here: https://openxcom.org/forum/index.php/topic,4230.msg154823.html#msg154823

I am simply going to force that constant and be done with. So everything stays vanilla. ;)

Code: [Select]
constants:
  extendedExperienceAwardSystem: false