Jump to content

Airavat

Members
  • Posts

    38
  • Joined

  • Last visited

Everything posted by Airavat

  1. Thank you for taking the time out to test things. Unfortunate that it isn't simple enough to be implemented, but it's not the end of the world.
  2. Thank you so much for your reply. I was beginning to think that this was going to be the case. Will make the necessary changes. Edit: Well the good news is that Monastic Unarmed Training bonuses are now applying, thanks for that tip, but the Haymaker modal is still not visible. Could I have entered the wrong ID for ProficientAbilityID? It was the only one I could find.
  3. Hello there, I have been trying to modify the Spiritshifted "Weapons" to use the Unarmed tag and proficiency. The expectation is that this would activate Monastic Unarmed Training/Transcendent Suffering and the Haymaker modal while Spiritshifted. However even after setting EquipmentType to Unarmed and setting the ProficientAbilityID to Haymaker, it doesn't seem to work. Devoted bonuses are applying which means something is working. I would be grateful for any guidance. Please find the code below for the Attack data: { "GameDataObjects": [ { "$type": "Game.GameData.AttackMeleeGameData, Assembly-CSharp", "DebugName": "Druid_Stag_Claws", "ID": "fedd4e11-8c15-46cc-ba28-31aebcd762c9", "Components": [ { "$type": "Game.GameData.AttackBaseComponent, Assembly-CSharp", "KeywordsIDs": [ "a39ed49e-b2d2-4d64-90cb-faaedf80dce3" ], "AttackDistance": 0.75, "MinAttackDistance": 0, "AttackVariationID": "35abdf41-fc3f-4310-8d5d-5d7da644affc", "UseParentEquippableHand": "false", "CastSpeedID": "eacb53e3-6eb5-422a-92ca-99cc883ae4a9", "RecoveryTimeID": "566840d9-1561-4243-8ca7-889df9869847", "OverrideTacticalActionType": "None", "ImpactDelay": 0, "ForcedTarget": "None", "AffectedTargetType": "All", "AffectedTargetConditional": { "Conditional": { "Operator": 0, "Components": [] } }, "AffectedTargetDeathState": "Alive", "HostilityOverride": "Default", "PushDistance": 0, "FaceTarget": "true", "AccuracyBonus": 0, "PenetrationRating": 9, "DamageData": { "DamageType": "Pierce", "AlternateDamageType": "None", "Minimum": 13, "Maximum": 19, "TacticalMinimumOverride": 0, "TacticalMaximumOverride": 0, "DamageProcs": [] }, "Require****Object": "true", "StatusEffectKeywordsIDs": [], "StatusEffectsIDs": [], "RandomizeStatusEffect": "false", "CanGraze": "false", "CanCrit": "true", "DefendedBy": "Deflect", "AfflictionsDefendedBy": "None", "AfflictionApplicationModifier": "None", "SubstituteHitVisualEffect": "", "VisualEffects": [], "AttackOnImpactID": "00000000-0000-0000-0000-000000000000", "ExtraAttackID": "00000000-0000-0000-0000-000000000000", "LaunchBone": "RightWeapon", "HitBone": "Chest", "OnHitShakeDuration": "None", "OnHitShakeStrength": "None", "NoiseLevelID": "15743f94-1026-40b0-8e13-a667b3f66f63", "AllReactNoise": "false", "InterruptsOn": "None", "InterruptType": "Normal", "TargetAngle": 0, "ApplyOnceOnly": "false", "PathsToTarget": "true", "HideFromCombatLog": "false", "AdditionalAttackOnTooltip": "false", "DoesNotApplyDamage": "false", "TreatAsWeapon": "true", "BounceData": { "Bounces": 0, "Multiplier": 0.5, "Range": 10, "InRangeOrder": "false", "NoRepeatTargets": "false", "AlwaysBounceAtEnemies": "false", "Delay": 0, "NeverBounce": "false" }, "AttackValidityConditional": { "Conditional": { "Operator": 0, "Components": [] } } }, { "$type": "Game.GameData.AttackMeleeComponent, Assembly-CSharp", "EngagementRadius": 1, "IsUnarmed": "true" } ] } ] } Also find the Weapon data code: { "GameDataObjects": [ { "$type": "Game.GameData.WeaponGameData, Assembly-CSharp", "DebugName": "Druid_Stag_Claws", "ID": "4c797511-68f8-4407-87d8-8e0e9ac40060", "Components": [ { "$type": "Game.GameData.ItemComponent, Assembly-CSharp", "DisplayName": 1819, "DescriptionText": 1822, "DescriptionTextTactical": -1, "FilterType": "Weapons", "InventoryAudioEventListID": "705deb97-3f84-48c8-a84b-e3c34e2d0e3a", "IsQuestItem": "false", "IsIngredient": "false", "IsCurrency": "false", "IsAdventuringItem": "false", "IsJunk": "false", "CanSellForFullValue": "false", "MaxStackSize": 1, "NeverDropAsLoot": "true", "CanBePickpocketed": "false", "IsUnique": "false", "Value": 0, "IconTextureSmall": "gui/icons/items/ingredients/stag_horn_s.png", "IconTextureLarge": "gui/icons/items/ingredients/stag_horn_l.png", "PencilSketchTexture": "", "InspectOnUseButton": [], "IsPlaceholder": "false" }, { "$type": "Game.GameData.EquippableComponent, Assembly-CSharp", "EquipmentType": "Unarmed", "EquipmentSlot": "AnyWeapon", "AppearancePiece": { "ModelVisualDataPath": "" }, "ItemModsIDs": [ "9691785d-0207-492a-9c88-47f9a86db8af" ], "OnEquipVisualEffects": [], "RestrictedToClassIDs": [], "RestrictedToPlayer": "false", "EquipConditionals": { "Operator": 0, "Components": [] }, "ProficientAbilityID": "b863a8c3-ed3b-4787-8b3f-2bdea96c47a1", "CannotUnequip": "false", "ItemRendererPrefab": "", "ItemModel": "", "AnimationController": "", "PaperdollOverrideRenderer": "", "AttackSummonID": "00000000-0000-0000-0000-000000000000", "CannotSheathe": "false", "PropVisualEffects": [] }, { "$type": "Game.GameData.WeaponComponent, Assembly-CSharp", "Stance": "Unarmed", "AnimationStanceID": "00000000-0000-0000-0000-000000000000", "StatusEffectsOnLaunchIDs": [], "IsDisplayedWhenAlternate": "true", "IsUniversalType": "false", "AttackID": "fedd4e11-8c15-46cc-ba28-31aebcd762c9", "NoiseLevelID": "15743f94-1026-40b0-8e13-a667b3f66f63", "ForceBackScabbard": "false", "ScabbardAppearancePiece": { "ModelVisualDataPath": "" }, "ScabbardRendererPrefab": "", "ScabbardModel": "", "AudioEventListID": "af7e82ea-8a9d-4fb9-bdb8-15f212f9fd11" } ] } ] } Thank you Regards
  4. Here is an attempt, criticism is welcome and required. Thank you Regards
  5. The way I'm doing it currently is by adding root-level objects according to their $type value. I chose to do it this way because I didn't have perfect information on the objects' structure, and if some $types wouldn't require me to add a lot of extra form controls because of extra components they may contain. Also this way I have the most control over what shows in the list and what will not be included in the query as unimportant to modders. I imagine that in a perfect setup the editor users will only see the stuff in the lists and in the detail views which they "need in the majority of situations". So as a result, I am currently using a function that's like this: determineGameDataQueryOptions(dbName: string): string[] { switch (dbName) { case 'characters': return [this.gameDataObjectTypes.CHARACTERSTATS]; case 'progressiontables': return [this.gameDataObjectTypes.PROGRESSIONTABLE]; case 'abilities': return [this.gameDataObjectTypes.ABILITY, this.gameDataObjectTypes.SPECIALABILITY]; case 'attacks': return [ this.gameDataObjectTypes.RECOVERYTIME, this.gameDataObjectTypes.ATTACK_AOE, this.gameDataObjectTypes.ATTACK_AURA, this.gameDataObjectTypes.ATTACK_BEAM, this.gameDataObjectTypes.ATTACK_FIREARM, this.gameDataObjectTypes.ATTACK_GRAPPLE, this.gameDataObjectTypes.ATTACK_MELEE, this.gameDataObjectTypes.ATTACK_PULSEDAOE, this.gameDataObjectTypes.ATTACK_RANDOMAOE, this.gameDataObjectTypes.ATTACK_RANGED, this.gameDataObjectTypes.ATTACK_SUMMON, this.gameDataObjectTypes.ATTACK_SUMMONRANDOM, this.gameDataObjectTypes.ATTACK_TELEPORT, this.gameDataObjectTypes.ATTACK_BEAMTELEPORT, this.gameDataObjectTypes.ATTACK_TELEPORT, this.gameDataObjectTypes.ATTACK_HAZARD, this.gameDataObjectTypes.ATTACK_MASTERSCALL, this.gameDataObjectTypes.ATTACK_WALL ]; case 'statuseffects': return [this.gameDataObjectTypes.STATUSEFFECT, this.gameDataObjectTypes.AFFLICTION]; } } It's tempting to just filter them by their first component's type as you suggest, but my concern is that if I just include every object that has a Game.GameData.GenericAbilityComponent, I may offer objects in the editor for which I don't yet have all the appropriate form controls, and this may confuse users. I've looked over part of the objects in abilities.gamedatabundle and some seem to have modding-relevant data in their components after the GenericAbilityComponent. The short answer is yes The long one is that you need to replicate objects in many of the files, if you want to build a custom class, with its own full set of abilities and their own effects. It's doable but it's a lot of work, for some of which the editor can help you, but not for everything. It would help if you are very proficient with the game first, so you know what capabilities the game's rules offer your character, and you can better design and balance its abilities and their effects. Thank you for your quick reply.
  6. Possible noob question, but wanted to know if it is possible to create a custom class? Maybe not with this tool but with the current modding potential.
  7. Hello- So sorry that you spent your time on it, thank you very much for trying. A very generous offer, I'll see what else I can find. How about this? Not exactly a match for the armor, but a great elf archer. Here you go. I added a little shade to the portrait background under the impression that it will be better in-game but obviously the final decision is yours. Regards
  8. Tried a thing or two and I think it looks ok enough to use. Regards I made a small edit to the watercolor variants.
  9. Tried a thing or two and I think it looks ok enough to use. Regards
  10. I attempted a colorization. I also added the "sm" and "si" variants out of force of habit. Regards
  11. I tried something. Used a higher quality version of the image so that it can crop similarly to in-game portraits (hope you don't mind) Hey, first: thank you ! and sorry for only just replying now. I totally forgot that I asked for another watercolor picture I like this version but could someone (or maybe you) also watercolor the original picture ? I'd love to see both ingame so I can decide with what Portrait I want to go. Im very picky when it comes to things like that, sorry not sorry Cheers ~ Here is the original version's watercolor. I guess I will let you do the cropping that you like for the "sm" and "si" variants. Hope it's good. Regards
  12. Here is the Death God-like, not sure if I got the edges correct but it looks alright. Enjoy. Regards
  13. If you don't mind, can you attach the portrait that you are importing and I can help test it in my game. Can do, see attached. Alright, so in my game it looks pretty normal. However just to be safe I downloaded a higher quality version, which I re-proportioned and have attached. Regards P.S: I water-colorized it for you as well, in case you need it. Very nice mate, I appreciate the extra effort. Also mad props to the original artist for that amazing picture. As it happens, I also managed to figure out why my re-sized pictures went all pixelated, seems like I was using dashes ( - ) instead of underscores ( _ ) in the file name and that made all the difference.... No problem, and yes I noticed the dashes vs underscores (had a feeling that was the issue). Also agree regarding the artist, easily one of my favorite Aumaua drawings.
  14. If you don't mind, can you attach the portrait that you are importing and I can help test it in my game. Can do, see attached. Alright, so in my game it looks pretty normal. However just to be safe I downloaded a higher quality version, which I re-proportioned and have attached. Regards P.S: I water-colorized it for you as well, in case you need it.
  15. I have been trying for sometime to water-colorize this but I don't like the results. The source image is too grainy and low resolution for my skill level. I can attach it if you want but it is not serviceable in my opinion. Do you have any close seconds that will fit your character? If so I can attempt them instead. Regards
  16. If you don't mind, can you attach the portrait that you are importing and I can help test it in my game.
  17. This is the first portrait I attempted to water-colorize (but never used in-game). Once again someone may find it useful. Regards
  18. Here is the portrait that I am using. Someone might find it useful for their play-through. Regards
×
×
  • Create New...