Jump to content
Sign in to follow this  
DragorTheDrake

Help with Crimson Helmet mod

Recommended Posts

ive started working on making my own mod for the crimson helm to add an enchatment to it ive been reading the great guides that are on this forum and just online in general but i cant seem to get it right ive been editing the crimson helm item details changeing it unique and trying to change its decription like ive seen others doing for thier mod but when i go in game and add the crimson helm to my invetory no change have occured even thou ive added the changes to the overide file it has no t worked what am i doing wrong? 

image.png

image.png

Edited by DragorTheDrake

Share this post


Link to post
Share on other sites

okay i realised that my problem might be the fact that i dont have my file coverted to gamedatabundles but when i try to convert them it does not work what am i doing wrong ive tried also saving them as JSON files but that isnt working either i need help with this.

Share this post


Link to post
Share on other sites

- You don't have a thumb.png (I'm pretty sure it's required).  Take one from another mod and copy the file.

- You have a red dot at the end of your code (on the right side, in the scrollbar) meaning at that location there is an error.  Probably an extra comma or not enough ] and } to close every [ and {.  The error should have a red squiggly underline under it, wherever it is in the code.

- You don't have any enchantment code that I can see.  You have the item code but no enchantments attached to it.  I made a tutorial on item-making:

Item-->ItemMod-->StatusEffect/Ability

If you want to do it the easy way, just find the guid of a status effect you like that is also on a piece of armor and add that to the new ItemModGameData's

StatusEffectsOnEquipIDs

Share this post


Link to post
Share on other sites

Post all the code here and let's take a look at that too.  I have had weird situations like you, where once I save something as a txt file, Visual Studio Code seems to make some other file that is linked to it and it's a permanent text file that replaces my original file if I delete it!  It's like a horror movie.  When that happens I just create a whole new file (or copy one from another mod) and copy+paste my code, and I must give it a new file name.

 

But paste your code here using the 

code

button and it's probably an issue there.

Share this post


Link to post
Share on other sites
Quote
{
            "$type""Game.GameData.EquippableGameData, Assembly-CSharp",
            "DebugName""LAX03_Head_Helm_Plate_Sanguine",
            "ID""eb1896d4-08aa-4699-acb4-7e803657a9d2",
            "Components": [
                {
                    "$type""Game.GameData.ItemComponent, Assembly-CSharp",
                    "DisplayName"16650,
                    "DescriptionText"17651,
                    "DescriptionTextTactical"-1,
                    "FilterType""Clothing",
                    "InventoryAudioEventListID""3b0b476e-883e-4a9e-9a61-956eabf30b6d",
                    "IsQuestItem""false",
                    "IsIngredient""false",
                    "IsCurrency""false",
                    "IsAdventuringItem""false",
                    "IsJunk""false",
                    "CanSellForFullValue""false",
                    "MaxStackSize"1,
                    "NeverDropAsLoot""false",
                    "CanBePickpocketed""true",
                    "IsUnique""true",
                    "Value"300,
                    "IconTextureSmall""gui/icons/items/head/crimson_plate_helm_s.png",
                    "IconTextureLarge""gui/icons/items/head/crimson_plate_helm_l.png",
                    "PencilSketchTexture""",
                    "InspectOnUseButton": [],
                    "IsPlaceholder""false"
                },
                {
                    "$type""Game.GameData.EquippableComponent, Assembly-CSharp",
                    "EquipmentType""None",
                    "EquipmentSlot""Head",
                    "AppearancePiece": {
                        "ModelVisualDataPath""prefabs/lax03/appearance/helm/a_lax03_helm302_v01.asset"
                    },
                    "ItemModsIDs": ["82c363ec-49e3-4769-a272-59295107b6ab"],
                    "OnEquipVisualEffects": [],
                    "RestrictedToClassIDs": [],
                    "RestrictedToPlayer""false",
                    "EquipConditionals": {
                        "Operator"0,
                        "Components": []
                    },
                    "ProficientAbilityID""00000000-0000-0000-0000-000000000000",
                    "CannotUnequip""false",
                    "ItemRendererPrefab""",
                    "ItemModel""",
                    "AnimationController""",
                    "PaperdollOverrideRenderer""",
                    "AttackSummonID""00000000-0000-0000-0000-000000000000",
                    "CannotSheathe""false",
                    "PropVisualEffects": []
                }
            ]
        }

the code was not letting me paste it i have terrible luck.

Share this post


Link to post
Share on other sites
Quote
<?xml version="1.0" encoding="utf-8"?>
<StringTableFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Name>game\items</Name>
  <Entries>
    <Entry>
      <ID>16650</ID>
      <DefaultText>Crimson Helm</DefaultText>
      <FemaleText />
    </Entry>
    <Entry>
      <ID>17651</ID>
      <DefaultText>When you don this helmet a dark haze washes over you as if you are being possesed by something of pure rage.</DefaultText>
      <FemaleText />
    </Entry>
  </Entries>  
</StringTableFile>

heres the stringtable

Share this post


Link to post
Share on other sites

1) It looks like you still have this problem.  Did you fix this problem or was I wrong? 

Quote

- You don't have any enchantment code that I can see.  You have the item code but no enchantments attached to it.  I made a tutorial on item-making...

2) Your string numbers might be already taken.  I use much larger numbers to ensure I'm not overwriting anything in the game. 

When you start the game, how do you know the mod doesn't work?

Edited by Grape_You_In_The_Mouth

Share this post


Link to post
Share on other sites

i added an item mod ID to the code for an enchantment called overwhelming crit i did this to see if an enchantment would be added and if it had worked i would have them tried to create my own  this is that enchatment

{
	"GameDataObjects":[{
			"$type":"Game.GameData.ItemModGameData, Assembly-CSharp",
			"DebugName":"Overwhelming_Crit",
			"ID":"82c363ec-49e3-4769-a272-59295107b6ab",
			"Components":[{
					"$type":"Game.GameData.ItemModComponent, Assembly-CSharp",
					"DisplayName":50006,
					"HideFromUI":"false",
					"EnchantCategory":"Unique",
					"Cost":30,
					"CursesItem":"false",
					"DurabilityDamage":0,
					"StatusEffectsOnEquipIDs":["b658260a-5100-4d19-b9a0-dcbe171a9229"],
					"StatusEffectsOnLaunchIDs":[],
					"StatusEffectsOnAttackIDs":[],
					"AbilityModsOnEquipIDs":[],
					"OnEquipVisualEffects":[],
					"DamageProcs":[],
					"AbilitiesOnEquipIDs":[]
			}]
		},{
			"$type":"Game.GameData.StatusEffectGameData, Assembly-CSharp",
			"DebugName":"Overwhelming_Crit_SE_CritDamageMult",
			"ID":"b658260a-5100-4d19-b9a0-dcbe171a9229",
			"Components":[{
					"$type":"Game.GameData.StatusEffectComponent, Assembly-CSharp",
					"StatusEffectType":"CriticalDamageMultiplier",
					"OverrideDescriptionString":50006,
					"OverrideDescriptionStringTactical":-1,
					"UseStatusEffectValueAs":"None",
					"BaseValue":1.3,
					"DynamicValue":{
						"Stat":"SkillValue",
						"SkillDataID":"98051b85-d7e5-4746-a66c-260e2fcd2d4b",
						"ClassID":"00000000-0000-0000-0000-000000000000",
						"MultiplyBy":0.01,
						"Operator":"Add"
					},
					"KeywordsIDs":[],
					"DurationType":"Infinite",
					"Duration":0,
					"MaxStackQuantity":0,
					"ApplicationBehavior":"UseLongerDurationIfAlreadyApplied",
					"ApplicationType":"ApplyOnStart",
					"IntervalRateID":"00000000-0000-0000-0000-000000000000",
					"StackedChildrenApplyEffects":"false",
					"InclusionConditions":{"Operator":0,"Components":[]},
					"ApplicationPrerequisites":{"Conditional":{"Operator":0,"Components":[]}},
					"TriggerAdjustment":{
						"TriggerOnEvent":"None",
						"TriggerOffEvent":"None",
						"ValidateWithAttackFilter":"false",
						"ParamValue":0,
						"ValueAdjustment":0,
						"DurationAdjustment":0,
						"ResetTriggerOnEffectTimeout":"false",
						"MaxTriggerCount":0,
						"IgnoreMaxTriggerCount":"false",
						"RemoveEffectAtMax":"false",
						"ChanceToTrigger":1
					},
					"PowerLevelScaling":{
						"UseCharacterLevel":"false",
						"BaseLevel":0,
						"LevelIncrement":1,
						"MaxLevel":0,
						"ValueAdjustment":0,
						"DurationAdjustment":0
					},
					"IsHostile":"false",
					"ClearOnCombatEnd":"false",
					"ClearOnRest":"false",
					"ClearOnFoodRest":"false",
					"ClearWhenAttacks":"false",
					"ClearOnDeath":"false",
					"HideFromCombatTooltip":"true",
					"HideFromCombatLog":"false",
					"HideFromUI":"false",
					"HideIfNoValue":"false",
					"VisualEffects":[],
					"MaterialReplacementID":"00000000-0000-0000-0000-000000000000",
					"AttackFilter":{
						"KeywordsIDs":[],
						"KeywordLogic":"Or",
						"Race":"None",
						"IsKith":"false",
						"HealthPercentage":0,
						"HealthOperator":"EqualTo",
						"Range":"None",
						"ClassTypeID":"00000000-0000-0000-0000-000000000000",
						"Source":"ParentEquippable",
						"DefendedBy":"None",
						"Empowered":"false",
						"Disengagement":"false",
						"Stealthed":"false",
						"UseStealthLinger":"false",
						"PowerLevel":0,
						"PowerLevelOperator":"EqualTo",
						"ChanceToApply":1,
						"AttackHostility":"Default",
						"TargetType":"None"
					},
					"AttackTargetFilter":{
						"KeywordsIDs":[],
						"KeywordLogic":"Or",
						"Race":"None",
						"IsKith":"false",
						"HealthPercentage":0,
						"HealthOperator":"EqualTo",
						"Distance":0,
						"DistanceOperator":"EqualTo",
						"HasDOT":"false",
						"IsMarked":"false",
						"TargetHostility":"Default"
					},
					"ExtraValue":0,
					"OverridePenetration":0,
					"DamageTypeValue":"All",
					"KeywordValueID":"00000000-0000-0000-0000-000000000000",
					"RaceValue":"None",
					"StatusEffectTypeValue":"None",
					"ItemValueID":"00000000-0000-0000-0000-000000000000",
					"AfflictionTypeValueID":"00000000-0000-0000-0000-000000000000",
					"StatusEffectsValueIDs":[],
					"AttackValueID":"00000000-0000-0000-0000-000000000000",
					"AttackOverrideValue":"None",
					"EventValue":"OnApply",
					"ClassValueID":"00000000-0000-0000-0000-000000000000",
					"WeaponTypeValue":"None",
					"AttackHitType":"None",
					"SkillValueID":"00000000-0000-0000-0000-000000000000",
					"AudioEventListID":"00000000-0000-0000-0000-000000000000",
					"BedRestDaysMinimum":0,
					"BedRestDaysMaximum":0
			}]
		},{
			"$type":"Game.GameData.RecipeData, Assembly-CSharp",
			"DebugName":"Recipe_Overwhelming_Crit",
			"ID":"0c8af232-983d-49ce-8062-d30aa41f65dd",
			"Components":[{
					"$type":"Game.GameData.RecipeComponent, Assembly-CSharp",
					"DisplayName":50003,
					"CraftingLocation":"None",
					"CategoryID":"7bad3803-0dfd-473a-a857-326f4853a4d6",
					"VisibilityConditions":{"Operator":0,"Components":[]},
					"CreationConditions":{"Operator":0,"Components":[]},
					"Cost":10000,
					"CostByValueMultiplier":0,
					"Double2HIngredientCost":"false",
					"CanModifyWeapons":"false",
					"CanModifyArmor":"false",
					"CanModifyShields":"false",
					"CanModifySpecificItemsIDs":["b44b203e-9a35-4514-8339-b19c4b10f305"],
					"Ingredients":[{
							"ItemID":"f5ab3a19-47bd-4935-9a27-9c495996fcab",
							"Quantity":2,
							"IsDestroyed":"true"
						},{
							"ItemID":"4856e836-930e-470e-be3f-bb6ea7bc58ed",
							"Quantity":2,
							"IsDestroyed":"true"
						},{
							"ItemID":"0e274db1-566d-46c8-b485-4392e0c9553f",
							"Quantity":2,
							"IsDestroyed":"true"
						},{
							"ItemID":"be8934a3-08db-4db3-bf65-5f5961957dc7",
							"Quantity":1,
							"IsDestroyed":"true"
						},{
							"ItemID":"f51bb759-c5b3-437f-84ea-ba5671d3fa27",
							"Quantity":2,
							"IsDestroyed":"true"
					}],
					"Output":[],
					"PrerequisiteItemModID":"844c93a5-2775-4b71-ae7d-40a6fe8f0fdf",
					"ItemModsToAddIDs":["82c363ec-49e3-4769-a272-59295107b6ab"],
					"ItemModsToRemoveIDs":[]
			}]
	}]
}

 

Share this post


Link to post
Share on other sites

You might want to right click on the code in Visual Studio and then format it like they do on the intro video.  It makes it look a lot cleaner but that's just my opinion.

You're creating both a mod and an upgrade (item recipe) for the same mod.  Upgrades (recipes) only add a new mod or change an existing mod.  You can cut out the recipe code out and still have a helm with a status effect.  But, while I'm looking at it, you don't have the right item guid for that upgrade anyway.

The one problem I see instantly with your code is the parentequippable.  Change that back to None.  Parentequippable is almost always only for weapons, not armor.  Here it means "when this helm attacks, do 30% more damage."  Obviously you're not attacking with your helmet, so we don't need this here.

Another problem I see is that you have a JSON filetype that is called "crimson_helm_enchantment.gamedatabundle" and then another file called "Overwhelming_Crit" which is a gamedatabundle filetype.  You probably have a noob setting on Windows that doesn't show filetype extensions.  This means when you rename the file, it doesn't change the filetype.  You have to change the file-type, not just the name.  You should have files that say crimson_helm_enchantment.gamedatabundle and Overwhelming_Crit.gamedatabundle and their file-type must be gamedatabundle because that's their name AND their file extension.  So change the windows settings and then rename the file.

Also notice that you used DynamicValue of a stat.  This looks correct, but you're probably multiplying by too little and the big issue is that you're trying to do too much before learning anything.  If you try everything simultaneously you'll never know why something doesn't work.  Start with the easy stuff and build from there.

Also, I keep everything for an item in the same gamedatabundle file so I can read it and match guids easier.  As long as it's GameData code, it can be in the same file.

 

 

Edited by Grape_You_In_The_Mouth

Share this post


Link to post
Share on other sites
Quote
{
    "$type""Game.GameData.EquippableGameData, Assembly-CSharp",
    "DebugName""LAX03_Head_Helm_Plate_Sanguine",
    "ID""eb1896d4-08aa-4699-acb4-7e803657a9d2",
    "Components": [
        {
            "$type""Game.GameData.ItemComponent, Assembly-CSharp",
            "DisplayName"5764,
            "DescriptionText"17651000,
            "DescriptionTextTactical"-1,
            "FilterType""Clothing",
            "InventoryAudioEventListID""3b0b476e-883e-4a9e-9a61-956eabf30b6d",
            "IsQuestItem""false",
            "IsIngredient""false",
            "IsCurrency""false",
            "IsAdventuringItem""false",
            "IsJunk""false",
            "CanSellForFullValue""false",
            "MaxStackSize"1,
            "NeverDropAsLoot""false",
            "CanBePickpocketed""true",
            "IsUnique""true",
            "Value"300,
            "IconTextureSmall""gui/icons/items/head/crimson_plate_helm_s.png",
            "IconTextureLarge""gui/icons/items/head/crimson_plate_helm_l.png",
            "PencilSketchTexture""",
            "InspectOnUseButton": [],
            "IsPlaceholder""false"
        },
        {
            "$type""Game.GameData.EquippableComponent, Assembly-CSharp",
            "EquipmentType""None",
            "EquipmentSlot""Head",
            "AppearancePiece": {
                "ModelVisualDataPath""prefabs/lax03/appearance/helm/a_lax03_helm302_v01.asset"
            },
            "ItemModsIDs": [],
            "OnEquipVisualEffects": [],
            "RestrictedToClassIDs": [],
            "RestrictedToPlayer""false",
            "EquipConditionals": {
                "Operator"0,
                "Components": []
            },
            "ProficientAbilityID""00000000-0000-0000-0000-000000000000",
            "CannotUnequip""false",
            "ItemRendererPrefab""",
            "ItemModel""",
            "AnimationController""",
            "PaperdollOverrideRenderer""",
            "AttackSummonID""00000000-0000-0000-0000-000000000000",
            "CannotSheathe""false",
            "PropVisualEffects": []
        }
    ]
}

okay ive started from scratch all i have now is the crimson helm gamedatabundle and the string table so all im trying to do now is change the item desciption and make it unique with no enchantment because that will come later this is the code i have right now

Share this post


Link to post
Share on other sites

and this is my stingtable but when i go into the game and add the crimson helm to my inventory none of the changes i have made have occured

<?xml version="1.0" encoding="utf-8"?>
<StringTableFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Name>game\items</Name>
  <NextEntryID>1</NextEntryID>
  <EntryCount>3</EntryCount>
  <Entries>
    <Entry>
      <ID>1665000</ID>
      <DefaultText>Crimson Plate Helm</DefaultText>
      <FemaleText />
    </Entry>
    <Entry>
      <ID>1765100</ID>
      <DefaultText>When you don this helmet a dark haze washes over you as if you are being possesed by something of pure rage.</DefaultText>
      <FemaleText />
    </Entry>
  </Entries>  
</StringTableFile>

Share this post


Link to post
Share on other sites

Did you do this?

On 9/7/2019 at 3:56 PM, Grape_You_In_The_Mouth said:

Another problem I see is that you have a JSON filetype that is called "crimson_helm_enchantment.gamedatabundle" and then another file called "Overwhelming_Crit" which is a gamedatabundle filetype.  You probably have a noob setting on Windows that doesn't show filetype extensions.  This means when you rename the file, it doesn't change the filetype.  You have to change the file-type, not just the name.  You should have files that say crimson_helm_enchantment.gamedatabundle and Overwhelming_Crit.gamedatabundle and their file-type must be gamedatabundle because that's their name AND their file extension.  So change the windows settings and then rename the file.

Also remove this:

  <NextEntryID>1</NextEntryID>
  <EntryCount>3</EntryCount>

Why is this here?  Bmac did a tutorial on how to make icons for a weapon.  He added that mod for download on the Nexus.  In that mod, it has a stringtable file, and it doesn't include this text.  I'd use that as a reference point for making new items, because he's a dev.

 

And did you check the output log?  It will tell you if your mod didn't load.  Sometimes it even has a nice reason why.

Edited by Grape_You_In_The_Mouth

Share this post


Link to post
Share on other sites

yes i did do all that and i have read the tutorials i apoligise if im annoying you with all these questions i tried to do the First Mod tutorial but i used the crimson helm instead of the greatsword it has the mod in the mod managar but it as i said when i add the  item to my inventory via console commands  no change has occured again sorry if i have caused annoyence

2019-09-09_0345_1.png2.png

Share this post


Link to post
Share on other sites
Quote
{
    "$type""Game.GameData.EquippableGameData, Assembly-CSharp",
    "DebugName""LAX03_Head_Helm_Plate_Sanguine",
    "ID""2893c49b-2830-48ae-87da-d21974f05a5b",
    "Components": [
        {
            "$type""Game.GameData.ItemComponent, Assembly-CSharp",
            "DisplayName"1665000,
            "DescriptionText"17651000,
            "DescriptionTextTactical"-1,
            "FilterType""Clothing",
            "InventoryAudioEventListID""3b0b476e-883e-4a9e-9a61-956eabf30b6d",
            "IsQuestItem""false",
            "IsIngredient""false",
            "IsCurrency""false",
            "IsAdventuringItem""false",
            "IsJunk""false",
            "CanSellForFullValue""false",
            "MaxStackSize"1,
            "NeverDropAsLoot""false",
            "CanBePickpocketed""true",
            "IsUnique""true",
            "Value"300,
            "IconTextureSmall""gui/icons/items/head/crimson_plate_helm_s.png",
            "IconTextureLarge""gui/icons/items/head/crimson_plate_helm_l.png",
            "PencilSketchTexture""",
            "InspectOnUseButton": [],
            "IsPlaceholder""false"
        },
        {
            "$type""Game.GameData.EquippableComponent, Assembly-CSharp",
            "EquipmentType""None",
            "EquipmentSlot""Head",
            "AppearancePiece": {
                "ModelVisualDataPath""prefabs/lax03/appearance/helm/a_lax03_helm302_v01.asset"
            },
            "ItemModsIDs": [],
            "OnEquipVisualEffects": [],
            "RestrictedToClassIDs": [],
            "RestrictedToPlayer""false",
            "EquipConditionals": {
                "Operator"0,
                "Components": []
            },
            "ProficientAbilityID""00000000-0000-0000-0000-000000000000",
            "CannotUnequip""false",
            "ItemRendererPrefab""",
            "ItemModel""",
            "AnimationController""",
            "PaperdollOverrideRenderer""",
            "AttackSummonID""00000000-0000-0000-0000-000000000000",
            "CannotSheathe""false",
            "PropVisualEffects": []
        }
    ]
}

heres my simple code now.

Share this post


Link to post
Share on other sites
Quote

{
    "$type": "Game.GameData.EquippableGameData, Assembly-CSharp",
    "DebugName": "LAX03_Head_Helm_Plate_Sanguine",
    "ID": "2893c49b-2830-48ae-87da-d21974f05a5b",
    "Components": [
        {
            "$type": "Game.GameData.ItemComponent, Assembly-CSharp",
            "DisplayName": 1665000,
            "DescriptionText": 17651000,
            "FilterType": "Clothing",
            "InventoryAudioEventListID": "3b0b476e-883e-4a9e-9a61-956eabf30b6d",
            "IsQuestItem": "false",
            "IsIngredient": "false",
            "IsCurrency": "false",
            "IsAdventuringItem": "false",
            "IsJunk": "false",
            "CanSellForFullValue": "false",
            "MaxStackSize": 1,
            "NeverDropAsLoot": "false",
            "CanBePickpocketed": "true",
            "IsUnique": "true",
            "Value": 300,
            "IconTextureSmall": "gui/icons/items/head/crimson_plate_helm_s.png",
            "IconTextureLarge": "gui/icons/items/head/crimson_plate_helm_l.png",
            "PencilSketchTexture": "",
            "InspectOnUseButton": [],
            "IsPlaceholder": "false"
        },
        {
            "$type": "Game.GameData.EquippableComponent, Assembly-CSharp",
            "EquipmentType": "None",
            "EquipmentSlot": "Head",
            "AppearancePiece": {
                "ModelVisualDataPath": "prefabs/lax03/appearance/helm/a_lax03_helm302_v01.asset"
            },
            "ItemModsIDs": ["05a417b4-a671-425a-a209-766f00ffa3cd"],
            "OnEquipVisualEffects": [],
            "RestrictedToClassIDs": [],
            "RestrictedToPlayer": "false",
            "EquipConditionals": {
                "Operator": 0,
                "Components": []
            },
            "ProficientAbilityID": "00000000-0000-0000-0000-000000000000",
            "CannotUnequip": "false",
            "ItemRendererPrefab": "",
            "ItemModel": "",
            "AnimationController": "",
            "PaperdollOverrideRenderer": "",
            "AttackSummonID": "00000000-0000-0000-0000-000000000000",
            "CannotSheathe": "false",
            "PropVisualEffects": []
        }
    ]
}

 

 

Share this post


Link to post
Share on other sites

nope same problem im trying to replace the crimson helm with this mod so that when i loot it or add it to my inventory with console commands it gives me my modded version not the normal version.

Share this post


Link to post
Share on other sites

It looks like you already gave it a different guid.  Did you check the output log?  Maybe try giving it a new debug name and then add it via console with the new debug name.  Also, I don't recognize that item mod id.

05a417b4-a671-425a-a209-766f00ffa3cd

Doesn't show anything on my items.gamedatabundle.  Where'd you get it?

Try 

f87bfccf-53ad-41f1-8c8a-70a9593b5074

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...