Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - Barghum

Pages: [1]
1
Suggestions / (board suggestion) Finished Y-Scripts
« on: November 22, 2024, 11:38:12 pm »
basically we already have a board for mods and Y-Script support

so why not a board for finished Y-Scripts so if any modder needs a finished script they can just take it

that's my suggestion

thanks for reading  :)

2
Help / [SOLVED] A visual error that makes me feel quite blue...
« on: September 27, 2024, 08:22:20 am »
I am seeing that some of the hand sprites are being replaced with other hand sprites in my mods
e.g. and m12 being replaced with an m1 carbine (yes maps and scraps is almost done)
or in the case shown the ChemLaser Rifle being replaced with the 'flash in the pan' smg

if anyone has any idea what the cause is or a fix for this please send it to this thread

Thanks for reading and sorry for the pun  :)

3
the script for blinding foes in my ChemLasers mod seems to be bugged even though I changed nothing

there are 2 bugs listed here:

1. the text does not appear on damage

2. no affect happens

I don't know what the cause is and even after checking everything i cant figure anything out... ???
as such i am once again asking for "you're supports"

here is the code

Code: [Select]
    damageUnit:   
      - offset: 99.2
        code: |
          #var ptre BattleUnit unit;     
          var ptr RuleItem itemRuleset;   
          var ptr RuleItem item_rule;
          var ptr RuleItem RuleItem; #item_rule;
          var ptr BattleUnit unit_battle;                                   
          var int laser_blind_power;
          var int anti_laser_goggles;
          var int goggles_are_broken;
          var int is_blinded;
          var int blindness_level;
          var int curr_acc;
          var int curr_rea;
          var int curr_thw;
          var int curr_acc_minus;
          var int curr_rea_minus;
          var int curr_thw_minus;
          var int temp;

          damaging_item.getRuleItem item_rule; #item_rule; damaging_item.getRuleItem RuleItem;
          item_rule.getTag laser_blind_power Tag.LASER_BLIND_POWER;
          item_rule.getTag anti_laser_goggles Tag.ANTI_LASER_GOGGLES;           
          #unit.getTag anti_laser_goggles Tag.ANTI_LASER_GOGGLES; 
          unit.getTag anti_laser_goggles Tag.UNIT_RESIST_ITEM_SLOT_300;         
          debug_log "check 1 LASER_BLIND_POWER: " laser_blind_power;

          unit.Stats.getFiring curr_acc; #GeoscapeSoldier
          unit.Stats.getReactions curr_rea; #GeoscapeSoldier
          unit.Stats.getThrowing curr_thw; #GeoscapeSoldier

          set curr_acc_minus curr_acc;
          sub curr_acc_minus laser_blind_power;
          set curr_rea_minus curr_rea;
          sub curr_rea_minus laser_blind_power;
          set curr_thw_minus curr_thw;
          sub curr_thw_minus laser_blind_power;
          #debug_log "check 2 LASER_BLIND_POWER: " laser_blind_power;

          if and ge laser_blind_power 1 eq anti_laser_goggles 0;
            unit.Stats.setFiring curr_acc_minus;
            unit.Stats.setThrowing curr_thw_minus;
            unit.Stats.setReactions curr_rea_minus;
            battle_game.flashMessage "STR_LASER_BLINDED_DMG" laser_blind_power to_health to_armor;
            #debug_log "blind is working";
          else;
            debug_log "blind is NOT working";         
          end;
          return; 
  thank you for reading for reading this  :)

4
as for my ideas
1. A limb disabling script (if the right side is hit disable the right arm etc.)
2. More unique weapons (e.g. Blaster launcher, Laser weapons in general, HC/AC, and the F.M.P Multi launcher)
3. Better sound design (e.g. TFTD's entire set of sounds)
4. Multiple research paths that are mutually exclusive

if anyone has any ideas leave them here

5
Help / Two Questions *question 1 is solved*
« on: May 10, 2024, 05:06:09 am »
First on my list of problems: can I make it so that the entire map is a Custom UFO and if so how?

Second: is it possible to recreate UFO extender's  Wreck Analysis via missionCompleteText (or any of the other types of text like that) and if so how can I

thanks for reading  :)

6
The X-Com Files / [Submod (s)] Project Xenophobia
« on: March 26, 2024, 06:33:55 am »
I have decided to make a large set of submods for XCF to rebalance and expand the game, (hopefully for the best.)

The first mod is "Chemical laser weapons"

it includes:
1. Laser Blinding mechanics
2. Head and vest slots (they are blocked by power armor and diving suits)
3. New head gear
4. A new line of weapons built for shield stripping
5. A new mission

notice C.L.W. is more of a basis for what is to come than a full mod, expect balance issues.
(notice this mod requires https://mod.io/g/openxcom/m/nmoroz-and-aaddons-sync for use.)
send feedback if applicable  :D.

edit: (i would like to note to anyone who is new to this thread updated versions and future mods will be placed lower down on the thread)
note 2: mod linked to the top post is version 1.0 it is heavily bugged compared to new versions also a second mod is out called maps and scraps version 1 is still here only due to the fact that some people might want this early version (idk why)

note 3: every mod will require the mod released before it to be installed to be used e.g. maps & scraps needs ChemLasers to be used

7
Help / [SOLVED] need help with these map files.
« on: March 17, 2024, 03:18:20 am »
I am making an XCF https://openxcom.org/forum/index.php?board=21.0 Submod and am almost done.

however 2 map files have been bugged

here is the code:

Code: [Select]
terrains:     
  - name: URBAN
    addOnly: true
    mapDataSets:
      - BLANKS
      - ROADS
      - URBITS
      - URBAN
      - URBAN_MARKET     
      - FRNITURE
      - MADDECOR
      - ADVENT_MEDICINE
      - CYBERWAREEXTRA
    script: URBAN
    mapBlocks:
      - name: TATOO_REMOVAL_SHOP # Tatoo Removal Shop by Barghum (I know it's crap but its needed for the mod.)
        width: 10
        length: 10   
        items:
          STR_LASING_MEDIUM:
            - [2, 3, 0]     
          STR_MONEY_5000:
            - [4, 6, 0]     
      - name: LASER_LAB_CITY # Laser testing lab by Barghum (I know it's illogical but its needed for this... thing)
        width: 10
        length: 10   
        items:
          STR_LASING_MEDIUM:
            - [5, 5, 1]     

screenshot and map files below.

8
OXCE Support Y-scripts / Broken Y-scripts
« on: February 27, 2024, 05:09:09 am »
I'm making an XCF Submod that features some new shield piercers, a stealth mission, and lasers blinding on hit.
but the Y-scripts are a bit...
broken.   

Code: [Select]
extended:
  tags:
    RuleItem: 
      IS_KEY: int 
      ITEM_HAS_BIPOD: int
      ITEM_RECOIL: int
      ANTI_LASER_GOGGLES: int   
      SETS_CONCEALED: int   
      SHIELD_SKIPPER: int
      WEAPON_IS_CHEMLASER: int 
      GOGGLES_STRENGTH: int   
      LASER_BLIND_POWER: int   
    RuleArmor:
      IS_LOCK: int     
      ARMOR_IS_STEALTHY: int             
  scripts:
    visibilityUnit:
      - new: STEALTH_EFFECT
        offset: 2
        code: |
          var int is_concealed;

          if eq is_concealed 1;
            set current_visibility 5;
            debug_log "CONCEALED";           
            else if eq is_concealed 0;
              set current_visibility 100;
              debug_log "DeCONCEALED";

          end;
          return;
    newTurnItem:
      - new: GOGGLES_STRENGTH
        offset: 9
        code: | 
          var ptre BattleUnit itemOwner;
          var ptr RuleItem itemRuleset;
          var int anti_laser_goggles;
          var int las_goggles_worn;
          var int goggles_are_broken;         

          item.getOwner itemOwner;
          # If no owner, skip script
          if eq itemOwner null;
            debug_log "ItemOwnerIsNullValue";             
            return;       
          end;       

          item.getRuleItem itemRuleset;
          itemRuleset.getTag anti_laser_goggles Tag.ANTI_LASER_GOGGLES; 

          if eq goggles_are_broken 1;
            debug_log "Goggles_blown_to_heaven't";           
            return;
          end; 

          if eq anti_laser_goggles 1;
            set las_goggles_worn 1;
            debug_log "Anti_laser_goggles_working";                         
          end;

          return;
    hitUnit:
      - offset: 20.06
        code: | 
          var ptr RuleItem weaponRuleset;       
          var ptr RuleArmor;   
          var ptr BattleUnit;     
          var int is_lock;
          var int is_key;

          item_rule.getTag is_key Tag.IS_KEY;
          BattleUnit.getRuleArmor is_lock Tag.IS_LOCK;

          if and eq is_lock 1 eq is_key 1;
            BattleUnit.Stats.addHealth -999;
            battle_game.flashMessage "STR_PADLOCK_UNLOCKED";
            debug_log "Padlock_Unlocked";             
            BattleItem.setAmmoQuantity 0;
              else or if is_lock 0 if eq is_key 0;
                return;
              end;
            end; 
          end; 

          end;
          return;           
      - new: GOGGLES_STRENGTH_lowerer_and_breaker
        offset: 9
        code: |
          var int goggles_curr_strength;
          var int goggles_are_broken;

          sub goggles_curr_strength 1;

          if eq goggles_curr_strength 0;
            set goggles_are_broken 1;
          end; 

          end;
          return;
      - new: GOGGLES_STRENGTH_lowerer_and_breaker2
        offset: 10
        code: |
          var ptr RuleItem weaponRuleset;       
          var int shield_skipper;
          var int shieldResistCoeff;
          var int shieldType;

          item_rule.getTag shield_skipper Tag.SHIELD_SKIPPER;

          if and eq shield_skipper 1 shieldType 0;
            set shieldResistCoeff 150; #was 50
          end;               

          if and eq shield_skipper 2 shieldType 0;
            set shieldResistCoeff 135; #was 65
          end;                 

          if and eq shield_skipper 3 shieldType 0;
            set shieldResistCoeff 140; #was 60
          end;                     

          if and eq shield_skipper 4 shieldType 0;
            set shieldResistCoeff 125; #was 75
          end;                             

          if and eq shield_skipper 5 shieldType 0;
            set shieldResistCoeff 150; #Was 50
          end;                     

          if and eq shield_skipper 6 shieldType 0;
            set shieldResistCoeff 135; #WAS 65
          end;                   

          if and eq shield_skipper 7 shieldType 0;
            set shieldResistCoeff 175; #was 25     
          end;                                                                       

          if and eq shield_skipper 8 shieldType 0;
            set shieldResistCoeff 160; #Was 40
          end;                             

          if and eq shield_skipper 9 shieldType 0;
            set shieldResistCoeff 130; #was 70
          end;                   


          if and eq shield_skipper 1 shieldType 1;
            set shieldResistCoeff 83; #def 33
          end;             

          if and eq shield_skipper 2 shieldType 1;
            set shieldResistCoeff 68;
          end;               

          if and eq shield_skipper 3 shieldType 1;
            set shieldResistCoeff 73;
          end;                   

          if and eq shield_skipper 4 shieldType 1;
            set shieldResistCoeff 58;
          end;                           

          if and eq shield_skipper 5 shieldType 1;
            set shieldResistCoeff 83;
          end;                   

          if and eq shield_skipper 6 shieldType 1;
            set shieldResistCoeff 68;
          end;                 

          if and eq shield_skipper 7 shieldType 1;
            set shieldResistCoeff 108;
          end;                                                                           

          if and eq shield_skipper 8 shieldType 1;
            set shieldResistCoeff 93;
          end;                             

          if and eq shield_skipper 9 shieldType 1;
            set shieldResistCoeff 63;
          end;                     


          if and eq shield_skipper 1 shieldType 2;
            set shieldResistCoeff 225; #def 175
          end;             

          if and eq shield_skipper 2 shieldType 2;
            set shieldResistCoeff 210;
          end;               

          if and eq shield_skipper 3 shieldType 2;
            set shieldResistCoeff 215;
          end;                   

          if and eq shield_skipper 4 shieldType 2;
            set shieldResistCoeff 200;
          end;                           

          if and eq shield_skipper 5 shieldType 2;
            set shieldResistCoeff 225;
          end;                   

          if and eq shield_skipper 6 shieldType 2;
            set shieldResistCoeff 210;
          end;                 

          if and eq shield_skipper 7 shieldType 2;
            set shieldResistCoeff 250;
          end;                                                                           

          if and eq shield_skipper 8 shieldType 2;
            set shieldResistCoeff 235;
          end;                             

          if and eq shield_skipper 9 shieldType 2;
            set shieldResistCoeff 205;
          end;                         


          if and eq shield_skipper 1 shieldType 3;
            set shieldResistCoeff 100; #def 50
          end;             

          if and eq shield_skipper 2 shieldType 3;
            set shieldResistCoeff 85;
          end;               

          if and eq shield_skipper 3 shieldType 3;
            set shieldResistCoeff 90;
          end;                   

          if and eq shield_skipper 4 shieldType 3;
            set shieldResistCoeff 75;
          end;                           

          if and eq shield_skipper 5 shieldType 3;
            set shieldResistCoeff 100;
          end;                   

          if and eq shield_skipper 6 shieldType 3;
            set shieldResistCoeff 85;
          end;                 

          if and eq shield_skipper 7 shieldType 3;
            set shieldResistCoeff 175;
          end;                                                                           

          if and eq shield_skipper 8 shieldType 3;
            set shieldResistCoeff 160;     
          end;                       

          if and eq shield_skipper 9 shieldType 3;
            set shieldResistCoeff 130;
          end;                                                                                   

          end;
          return;   
      - new: Stealth_remover
        offset: 11
        code: |
          ptr BattleUnit;         
          var ptr RuleItem weaponRuleset;       
          var int is_concealed;
          var int weapon_is_quiet;

          itemRuleset.getTag weapon_is_quiet Tag.WEAPON_IS_QUIET; 

          if eq weapon_is_quiet 1;   
            return;
          end; 
          else set attacker is_concealed 0;

          end;
          return;
      - new: Stealth_SETTER
        offset: 12
        code: |
          ptr BattleUnit;   
          var ptr RuleItem weaponRuleset;               
          var int is_concealed;
          var int sets_concealed;
          var ptr RuleArmor         
          var int armor_is_stealthy;

          itemRuleset.getTag sets_concealed Tag.SETS_CONCEALED;
          RuleArmor.getTag armor_is_stealthy Tag.ARMOR_IS_STEALTHY;


          if and eq sets_concealed 1 eq armor_is_stealthy 1;
            BattleUnit.setTag is_concealed 1;
            return;
          end; 

          return;                                 
    returnFromMissionUnit:
      - new: normalizer_laser
        offset: 99.99
        code: |
          var ptre soldier_rule RuleSoldier;
          var int inital_acc;
          var int inital_rea;
          var int inital_thw;
          var int is_blinded;   

          if eq is_blinded 1;
            GeoscapeSoldier.Stats.setReactions inital_rea;   
            GeoscapeSoldier.Stats.setThrowing inital_thw;
            GeoscapeSoldier.Stats.setFiring inital_acc;
          end;
          return;     
    createUnit:
      - new: INITAL_STATS
        offset: 99.99
        code: |
          var ptre soldier_rule RuleSoldier;
          var int inital_acc;
          var int inital_rea;
          var int inital_thw;

          GeoscapeSoldier.Stats.getFiring inital_acc; 
          GeoscapeSoldier.Stats.getThrowing inital_thw;   
          GeoscapeSoldier.Stats.getReactions inital_rea;       

          end;
          return;
    createItem: 
      - new: Chemlaser_plus;
        offset: 79
        code: |   
          var ptr RuleItem weaponRuleset;           
          var ptr GeoscapeGame geoScape;
          var ptr RuleResearch researchTopic;
          var int researchLevel_chemlaser;
          var int chemlaser_is_based;
          var int temp;



          rules.getRuleResearch researchTopic "STR_CHEMLASER_MINOR_UPGRADE_1";
          geoScape.isResearched temp researchTopic;

          if neq temp 0;
            add researchLevel_chemlaser 1;
            return;           
          end;       

          rules.getRuleResearch researchTopic "STR_CHEMLASER_MINOR_UPGRADE_2";
          geoScape.isResearched temp researchTopic;

          if neq temp 0;
            add researchLevel_chemlaser 1;
            return;           
          end;

          rules.getRuleResearch researchTopic "STR_CHEMLASER_MINOR_UPGRADE_3";
          geoScape.isResearched temp researchTopic;

          if neq temp 0;
            add researchLevel_chemlaser 1;
            return;           
          end;

          rules.getRuleResearch researchTopic "STR_CHEMLASER_MINOR_UPGRADE_4";
          geoScape.isResearched temp researchTopic;

          if neq temp 0;
            add researchLevel_chemlaser 1;
            return;           
          end;

          rules.getRuleResearch researchTopic "STR_CHEMLASER_MINOR_UPGRADE_5";
          geoScape.isResearched temp researchTopic;

          if neq temp 0;
            add researchLevel_chemlaser 1;
            return;           
          end;                                                 

          rules.getRuleResearch researchTopic "STR_CHEMLASER_MINOR_UPGRADE_6";
          geoScape.isResearched temp researchTopic;
         
          if neq temp 0;
            add researchLevel_chemlaser 1;
            return;           
          end;

          rules.getRuleResearch researchTopic "STR_CHEMLASER_MAJOR_UPGRADE";
          geoScape.isResearched temp researchTopic;

          if neq temp 0;
            set chemlaser_is_based 1;
            return;
          end; 
         
          return;                   
      - new: goggles_inital_strength;
        offset: 80
        code: |
          var int goggles_strength;
          var int goggles_curr_strength;

          itemRuleset.getTag goggles_strength Tag.GOGGLES_STRENGTH

          set goggles_curr_strength goggles_strength;         

          return;             
    damageUnit:
      - offset: 99.99
        code: |
          var ptr RuleItem weaponRuleset;           
          var int researchLevel_chemlaser;
          var int chemlaser_is_based;
          var int weapon_is_chemlaser;

          itemRuleset.getTag weapon_is_chemlaser Tag.WEAPON_IS_CHEMLASER;

            if eq weapon_is_chemlaser 1;
              add power researchLevel_chemlaser;
              if eq chemlaser_is_based 1;
                add power 10;
                return;
              end;
            end;
          end;

          return; 
      - offset: 99.98
        code: | 
          var ptr RuleItem weaponRuleset;           
          var int weapon_power_downgrade_level;
          var int can_weapon_power_downgrade; 
          var int temp;

          RuleItem.getTag can_weapon_power_downgrade Tag.CAN_WEAPON_POWER_DOWNGRADE;
          RuleItem.getTag weapon_power_downgrade_level Tag.WEAPON_POWER_DOWNGRADE_LEVEL;
          RuleItem.getPower temp;

            if le 5 temp;
              return;
            end;

            if eq can_weapon_power_downgrade 1;
              add toHealth weapon_power_downgrade_level;
            end; 
          end;
         
          return;   
      - offset: 80
        code: |
          ptr BattleUnit;           
          var ptr RuleItem weaponRuleset;           
          var int laser_blind_power;
          var int anti_laser_goggles;
          var int is_blinded;
          var int blindness_level;
          var int curr_acc;
          var int curr_rea;
          var int curr_thw;
          var int curr_acc_minus;
          var int curr_rea_minus;
          var int curr_thw_minus;

          RuleItem.getTag laser_blind_power Tag.LASER_BLIND_POWER;
          RuleItem.getTag anti_laser_goggles Tag.ANTI_LASER_GOGGLES; 

          GeoscapeSoldier.Stats.getFiring curr_acc;
          GeoscapeSoldier.Stats.getReactions curr_rea;
          GeoscapeSoldier.Stats.getThrowing curr_thw;

          set curr_acc_minus curr_acc;
          sub curr_acc_minus laser_blind_power;
          set curr_rea_minus curr_rea;
          sub curr_rea_minus laser_blind_power;
          set curr_thw_minus curr_thw;
          sub curr_thw_minus laser_blind_power;

            if and ge laser_blind_power 1 eq anti_laser_goggles 0;
              if eq goggles_are_broken 0;
                BattleUnit.Stats.setFiring curr_acc_minus;
                BattleUnit.Stats.setThrowing curr_thw_minus;
                BattleUnit.Stats.setReactions curr_rea_minus;
                battle_game.flashMessage "STR_LASER_BLINDED_DMG" laser_blind_power to_health to_armor;
                return;
              end;
            return; 
            end;
           
          end;
          return;

thank you for reading  :)

9
Resources / Xenonaut's Weapons
« on: December 30, 2023, 08:21:03 pm »
I had some spare time on my hands...

so i decided to sprite the Xenonauts alien plasma weapons for EU/UFO defense

Pages: [1]